Skip to main content
TrustRadius
NGINX

NGINX

Overview

What is NGINX?

NGINX, a business unit of F5 Networks, powers over 65% of the world's busiest websites and web applications. NGINX started out as an open source web server and reverse proxy, built to be faster and more efficient than Apache. Over…

Read more
Recent Reviews

NGINX Review

10 out of 10
March 22, 2024
Incentivized
Using NGINX for some Reverse Proxy services for security purposes. Helps to mask the IP address of our true IP Address. Looking to see …
Continue reading

great

8 out of 10
March 22, 2024
Incentivized
Apache web server has replaced by NGINX server. could see potential benefits by using this product instead of apache. Infact its quite …
Continue reading

NGINX Review

9 out of 10
September 15, 2023
Incentivized
We use it as the ATTP server and it is one of the very popular ATTP servers on the market. It's free and it has really good speed compared …
Continue reading

NGINX Review

9 out of 10
September 15, 2023
Incentivized
I use it for mostly host websites or anything that needs to be host. So we have our on-prem server where we host ourselves.
Continue reading

NGINX Review

9 out of 10
September 15, 2023
Incentivized
So we use it in our app development. We use NGINX servers for deploying our apps. We don't have any challenges so far. We are pretty much …
Continue reading
Read all reviews

Awards

Products that are considered exceptional by their customers based on a variety of criteria win TrustRadius awards. Learn more about the types of TrustRadius awards to make the best purchase decision. More about TrustRadius Awards

Popular Features

View all 6 features
  • Installation (18)
    9.4
    94%
  • Application server performance (18)
    8.6
    86%
  • Administration and management (18)
    8.0
    80%
  • Security management (18)
    8.0
    80%

Reviewer Pros & Cons

View all pros & cons
Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is NGINX?

NGINX, a business unit of F5 Networks, powers over 65% of the world's busiest websites and web applications. NGINX started out as an open source web server and reverse proxy, built to be faster and more efficient than Apache. Over the years, NGINX has built a suite of infrastructure software…

Entry-level set up fee?

  • Setup fee optional
For the latest information on pricing, visithttps://www.nginx.com/products/pricing

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

25 people also want pricing

Alternatives Pricing

What is Zend Server?

Zend Server, developed by Zend, acquired by Rogue Wave Software in 2017 and then by Perforce in 2019 with that company's acquisition of Rogue Wave, is an All-in-One PHP Application Server that aims to improve web app deployment, debugging, and monitoring. Additionally, ZendPHP Enterprise offers…

Return to navigation

Product Demos

CVE-2016-1247 Nginx (Debian-based) Vulnerability - Root Priv. Escalation PoC Exploit Demo

YouTube

Nginx Web Server configuration with Examples

YouTube

Load Balancing with NGINX

YouTube

Access your internal websites! Nginx Reverse Proxy in Home Assistant.

YouTube

How to Serve Static Content

YouTube

Using NGINX Open Source for Video Streaming and Storage

YouTube
Return to navigation

Features

Application Servers

An Application Server provides services and infrastructure for developing, deploying, and running applications

8.2
Avg 8.0
Return to navigation

Product Details

What is NGINX?

NGINX, a business unit of F5 Networks, powers over 65% of the world's busiest websites and web applications. NGINX started out as an open source web server and reverse proxy, built to be faster and more efficient than Apache. Over the years, NGINX has built a suite of infrastructure software products o tackle some of the biggest challenges in managing high-transaction applications.

NGINX offers a suite of products to form the core of what organizations need to create applications with performance, reliability, security, and scale. This includes NGINX Plus for load balancing, reverse proxy, and application delivery controller features, NGINX App Protect for high performance web application firewall security, and NGINX Unit to run the application code, all monitored and managed by the NGINX Controller.
  • NGINX Plus: An all‑in‑one load balancer, web server, and content cache.
  • NGINX Controller: Centralized monitoring and management for NGINX Plus.
  • NGINX App Protect: Web application firewall, powered by F5
  • NGINX Unit: Lightweight application server, with support for multiple languages and a dynamic REST API‑driven configuration
  • NGINX Ingress Controller: Traffic management solution for cloud‑native apps in Kubernetes and containerized environments.
  • NGINX Service Mesh: Lightweight, Turnkey, Developer-Friendly Service Mesh Using NGINX Plus as an Enterprise Sidecar

NGINX Features

Application Servers Features

  • Supported: IDE support
  • Supported: Security management
  • Supported: Administration and management
  • Supported: Application server performance
  • Supported: Installation
  • Supported: Open-source standards compliance

Additional Features

  • Supported: NGINX: Fast, light web server and reverse proxy
  • Supported: NGINX Plus: All‑in‑one Load Balancer, Web Server, and Content Cache
  • Supported: NGINX Plus: Security controls, High Availability, Dynamic Modules
  • Supported: NGINX App Protect: Layer 7 Attack Protection
  • Supported: NGINX Controller: Centralized Traffic Management and Monitoring
  • Supported: NGINX Controller: Role-based Access Controls
  • Supported: NGINX Unit: Multi-language Application Server

NGINX Screenshots

Screenshot of Overview of the NGINX Application PlatformScreenshot of NGINX Controller - MonitoringScreenshot of NGINX Controller - Configuration

NGINX Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

Microsoft IIS and HAProxy Community Edition are common alternatives for NGINX.

Reviewers rate Installation highest, with a score of 9.4.

The most common users of NGINX are from Small Businesses (1-50 employees).

NGINX Customer Size Distribution

Consumers0%
Small Businesses (1-50 employees)0%
Mid-Size Companies (51-500 employees)50%
Enterprises (more than 500 employees)50%
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(137)

Attribute Ratings

Reviews

(1-24 of 24)
Companies can't remove reviews or game the system. Here's why
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Most of our applications are container based and load balanced. Having multiple servers in the backend is challenging and using an external load balancer makes you lose control of the mechanics. That is where NGINX comes into picture. We create config files on our EC2 instances and control how the load balancer functions via NGINX
  • Load balancer
  • Load sharing
  • Web server
  • Reverse Proxy
  • Community support is limited
Well suited for web server hosting, load balancing, using reverse proxy to point to an alias. I don't think we can leverage it fully on windows
Josh Stapp | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Many [NGINX] servers are used across the organization to load balance and serve content before hitting our nodejs express rest api backends or our node react express frontends. It helps maintain uptime when we encounter strange deployment errors that can take out one of our servers. In my experience is has provided amazing throughput with very little configuration.
  • Performance
  • Reliability
  • Low configuration
  • Rarely used in development
  • Difficult to tell if it changed values from a server behind it
[NGINX] is very well suited for high performance. I have seen it used on servers with 1k current connections with no issues. Despite seeing it used in many environments I've never seen software developers use it over apache, express, IIS in local dev environments so it may be more difficult to setup. I've also seen it used to load balance again without issues.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We currently use Nginx for our ingress layer into our Kubernetes cluster as well as for setting up simple reverse proxies.
  • Reverse proxy
  • Simple web server
  • Kubernetes ingress
  • Complex confusing configuration.
  • Advanced features are paywalled.
  • No great way to generate configurations with input.
NGINX is my go-to solution for anything regarding HTTP traffic. Whether that's a simple web server or an advanced implementation of ingress-Nginx for Kubernetes.
John Reeve | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We have used NGINX in several different ways. We've used it as a load balancer, a proxy server, and a web server. Its ability to do one or all three of these jobs is what makes it so useful.
  • Load balancing.
  • Proxy server.
  • Config files aren't as straightforward as Apache.
NGINX is extremely fast when used as a web server. We used it for many years to serve up static content such as images, css, html, and javascript. The proxy features are also great for routing traffic through it when needed.
Alan Matson, CCNA:S, MCP | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We use NGINX to run all of our web servers that are customer public-facing. We replaced using APACHE with NGINX due to the ease of use and highly customizable option.s
  • Great customization
  • Very well documented
  • Better built in documentation
NGINX is well suited for a forward-facing web server. While as a reverse proxy, I had better results with APACHE, I try and use NGINX for anything that I need to run a reliable and secure web server on.
January 28, 2020

NGINX Review

Score 8 out of 10
Vetted Review
Verified User
Incentivized
I use NGINX for two main purposes. The first and foremost is to serve as a reverse proxy to rails applications running on their own servers. This includes making use of gzipping and SSL/TLS encryption. Additionally, it is used to serve compiled react applications as static sites, with the other instance still serving as a reverse proxy to these.
  • SSL/TLS encryption - Incredibly simple to configure and use.
  • Gzipping - Quickly and easily compress responses to save network cycles.
  • Lack of logging tools - Simply writes logs to files that you have to manually navigate.
  • No GUI - All configuration from a console. This could be a pro or a con to some.
If you want to serve a static website, implement a reverse proxy server to in-house applications running on their own servers, enable SSL/TLS encryption for your sites, load balance between application instances, or simply cut down the size of your server's responses by gzipping them, then Nginx is for you. If you feel that you need a GUI to do any of these things, then potentially look elsewhere.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Nginx is widely used in the whole organization for different applications as a front end hitting web server. It's used generally to benefit the caching mechanism and load the balance of the clustered applications and also used widely to maintain an active environment in case of any node failure or application server failure.
  • Nginx provides a very good caching mechanism as compared to other web servers. It helps to increase the performance of application when users hit the same address again and again in short period of time. This caching mechanism has many options available and it helps to configure it any way.
  • Nginx is a light weight web server which forwards the requests from the user to application server. If we host multiple sites on same Nginx server, the load of the server doesn't increase.
  • Nginx rewrite rules bring more flexibility to configure permanent or temporary redirections for some of the URLs
  • Nginx works best when we use it as front end proxy server for any application
  • Nginx is best in managing the Production and DR environments in an active mode. It is applicable for some of the applications when local file systems are shared across servers.
  • Load balancing is the thing where Nginx needs more improvement when I compare it with HAProxy. HAProxy provides more flexibility than Nginx for load balancing for clustered applications.
  • Nginx monitoring is good but not best. Teams have to improve the monitoring of Nginx where we can easily track the ddos attacks or multiple connections from one IP or multiple requests coming from one IP then they need to block it etc. i.e. Nginx must provide more flexibility in configuring more scenarios, which we do manually to improve the application performance.
  • Nginx needs improvement in the logging mechanism. Nginx must provide their own commands to get the desired output from the logs. So that instead of using unix commands and grep particular things, if Nginx provides better commands which can easily trace the logs in desired way, it will bring more flexibility to the system administrator.
Nginx is best to use as front end proxy for any application server. Nginx's cache mechanism is one of the best as compared to other web servers. Nginx is really a light weight webserver and it provides more flexibility in case of load balancing in clustered application. Configuration of Nginx is very easy as compared to other web servers. Nginx uses fewer resources of hosted server.
Tom Erdman | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We use Nginx for all of our web services, whether it be straight up websites or applications. It’s open source (free), but so easy to implement while being incredibly powerful.
  • Nginx can be set up to serve up a web site in minutes.
  • Nginx is easily customizable. You can easily serve over HTTPS, have custom directories, or proxy upstream servers.
  • Nginx has great support and documentation, even for the free version.
  • I had some initial problems proxying PHP.
  • It’s easy to over complicate your setup.
  • Like many applications, some of the error codes can be pretty ambiguous.
Nginx is perfectly suited for anyone with Linux in their environment and who needs a powerful web or app server. It might not work as well for an all Windows shop.
Leonel Quinteros | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Nginx is present at different levels across my projects. Sometimes is just a Web Server, others a Load Balancer or an API proxy with SSL/TLS management, it's just great that's so lightweight that you can deploy as many instances as you want, for different purposes and create a services mesh inside your organization's network.
  • Low memory footprint, high performance, low maintenance.
  • Modular, configurable, flexible. You can create totally different nodes from the same Nginx version. I.e. you can use 1 instance to run a Web Server and another to run a gRPC rate limiter.
  • Nginx Plus suite is awesome! and has really nice features for high end users as well. It complements really well with the core, open source products.
  • Great ecosystem for API and Microservices management and governance
  • Excellent Web Server, of course!
  • Some parts or modules form Nginx Plus suite would be really useful in the Open Source world. But it's just about paying the fee or implement it yourself though.
  • No .htaccess support (https://www.nginx.com/resources/wiki/start/topics/examples/likeapache-htaccess/)
  • Low diversity and extension of modules.
When deploying API services, we need to take care of many aspects of the network where they work. Infrastructure is also a factor when limited, so you also need to limit and manage it according to its use. Nginx is great to construct these network nodes (HTTP, API Proxy) that connects everything and can add extra capabilities like security (ModSecurity, SSL/TLS) and availability (Load Balancer, Rate Limit).

Score 8 out of 10
Vetted Review
Verified User
Incentivized
Nginx is the main competitor to Apache. It provides stable service. I have been using Nginx for the last four years and it has never gone down even once, which is critical for a web server. I also like the flexibility and compatibility Nginx has with other components in web development. I switched from LAMP to LEMP, which works great as an environment for WordPress and other PHP software. Overall, it is a great choice for a web server.
  • Stability. It runs quietly and never goes down.
  • Flexibility. It can run in all the Linux distro.
  • Compatibility. It works with PHP and MYSQL well.
  • It's free.
  • Community. Compare to Apache, Nginx has much smaller community support. You do not have lots of resources you can use when you encounter a problem accept digging into it and trying to figure it out yourself.
  • Lacks Large Scale Experience. Nginx is not the first choice for enterprise level architecture. Most large companies will use Apache instead of Nginx when it comes to large scale architecture. Here is where Nginx's lightweight advantage becomes their con.
  • Lack of multiple modules compatibility. Because Nginx is a lightweight focused server, it cannot be used with some other modules. That also makes Nginx favorable for people with small websites.
If you want to start learning web application architecture, Nginx is a great start. It is one of the easiest web servers to deploy and use. The configuration file is easy to use and understand. You will not feel overwhelmed learning it. If your company needs a lightweight web server or even simply just a static host, you can choose Nginx. It is super reliable and easy to use. It is also pretty much carefree. Just deploy it and you are done. When thinking about choosing servers, the best start point is the needs of your company. Nginx fits in the same category as other flexible, consistent, lightweight servers.
Gregory Pecqueur | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
We use Nginx as a load balancer and as a reverse proxy for all of our web services. We use it to serve NodeJs applications, REST APIs and Angular front.
  • Great community
  • A lot of documentation available
  • High-performing
  • Easy to configure
  • Cache static assets
  • Multi-threaded support
  • A user-friendly UI console to test some configurations in a test server
Nginx is a very good web server and proxy. To serve NodeJs applications, Nginx + pm2 is very efficient. Coupled with Passenger, it allows MEAN Stacks applications to be deployed very easily.
Rahul Dhangar | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Nginx is an excellent choice for any size company, be it a startup or mid to large scale. iI delivers a well-supported server architecture without much fuss involved. I loved the customer support I received whenever I sought help for several different client projects. Nginx is a great choice for use with AWS EC2 instances as well as I've personally used and configured it without any bottleneck. So I can say that it is a good choice for AWS and similar cloud hosting solutions.
  • Reliable load balancing capabilities
  • Caching of static assets is great
  • SSL handling is good
  • Relatively simple configurable proxy solution
  • Open source hence accessibility is easy to larger audience
  • Nginx plus is a bit on higher end on pricing for small organisations
  • Automatic Nginx configuration & services update for open source version is something which would be a welcoming step. Currently everything needs to be done manually
  • Web GUI console could be a slight better and some configurations from there itself would be highly appreciated
It is well suited for creating your custom CDN without much payload on the server and a proxy solution is also very effective using Nginx. Great for websites having high traffic demands but could be a bit heavy for smaller projects where traffic is low. Overall effectiveness of the Nginx solution is great when compared to competitive solutions provided by Apache Server.
February 08, 2019

Nginx as a DevOps Tool

Nitin Bhadauria | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Nginx is the DEFAULT web server for our organization and projects that we work on. I don't think Nginx as a simple web server but a micro service that is part of the whole application. As a DevOps [solution], it has made us more independent rather than relying on developers for every small requirement. Now we can just write a few lines of code in Lua or js and get our solution ready as a hotfix rather than going back and forth and trying to make developers understand what is needed. In some cases, our few lines of code prove to be a better solution than an application :)

I would suggest having one layer of Nginx on top of your JAVA or Node application. If you never use it as we do it will still handle the web connections better.
  • Handles HTTP connections very well. The way it uses your OS features and don't try to reinvent the wheel is awesome.
  • Things you can do with your POST requests are countless. You can rewrite your request and responses entirely.
  • Supporting Lua, Js, etc. If you know a bit of scripting also, there is no limit to what you can achieve.
  • I don't really have any cons, because I recommend people switch to Nginx.
I really can't think of a scenario where I would recommend anything but Nginx.
February 08, 2019

Fast and configurable

Shea Bunge | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Ever since discovering Nginx as an alternative to Apache, it has been my web server of choice for a variety of purposes, whether it be creating a versatile development server accommodating a variety of platforms across many different sites, or setting up a high-speed scalable server with integration with a popular content management system for a client. The powerful yet flexible configuration options of Nginx makes it straightforward to configure a server for a multitude of different tasks, and a clear choice for almost any situation.
  • Powerful and flexible configuration
  • Low resource usage with low overhead
  • Well-supported on major operating systems
  • Less well-known in communities than Apache, making it more difficult to find documentation and support
  • Requires manual configuration for integration with some popular CMS
Nginx is well suited for many different sorts of websites, whether they be for serving static content or making use of a back-end scripting language. As Nginx is not as well supported as some alternatives, support for integration with some software platforms may be lacking and require manual configuration. For this reason, Nginx may be a little more difficult to use for those unfamiliar with server administration.
Gabriel Samaroo | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use Nginx to serve static content for a few of our applications. Nginx is very effective for us because it's free, scales very well, and can handle millions of requests a second. It has made several of our websites noticeably faster. In addition, its ability to act as a Proxy/Reverse Proxy has been instrumental in fulfilling our specific web hosting needs.
  • Very low memory usage. Can handle many more connections than alternatives (like Apache HTTPD) due to low overhead. (event-based architecture).
  • Great at serving static content.
  • Scales very well. Easy to host multiple Nginx servers to promote high availability.
  • Open-Source (no cost)!
  • Less community support compared to Apache
  • Less extensive list of modules compared to Apache
Nginx is well suited for serving any static content - whether that be images, JS files, HTML files, CSS files, videos, etc. If you have a high-traffic website, Nginx will be a great fit because it handles large number of requests extremely efficiently. Nginx has full support on Unix systems, but only has limited support on Microsoft Windows machines.
L Matthew Blancett | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
We use Nginx widely as our primary way of proxying and SSL termination. Specifically, our highly-available architecture used for both a bidding environment and serving ads are designed with Nginx. We have had success building out some applications with deeper Nginx integration as well, our own home-built CDN.
  • SSL handling
  • Configuration is very unique, and has a learning curve, but powerful and generally clear
  • Very active user groups
  • Decent customer support
  • Customer support can be strangely condescending, perhaps it's a language issue?
  • I find it a little weird how the release versions used for Nginx+ aren't the same as for open source version. It can be very confusing to determine the cross-compatibility of modules, etc., because of this.
  • It seems like some (most?) modules on their own site are ancient and no longer supported, so their documentation in this area needs work.
  • It's difficult to navigate between nginx.com commercial site and customer support. They need to be integrated together.
  • I'd love to see more work done on nginx+ monitoring without requiring logging every request. I understand that many statistics can only be derived from logs, but plenty should work without that. Logging is not an option in many environments.
Well Suited:
If you need simple SSL termination to another proxy
If you are proxying from internet to an app with a real web server built-in
If you are proxying from the internet to FastCGI

Not so hot for Python proxying, at least from what I've seen, compared to the competition, but I don't do much of that.
Jhonattan Smith Peláez Nimisica | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use Nginx Plus Professional as a load balancer and as a reverse proxy with its ModSecurity component - WAF (Web Application Firewall). Nginx supports all the web traffic of the whole organization and some of our clients.
  • Nginx supports millions of requests per second
  • Nginx supports our high availability schemes
  • Nginx ensures that our information and resources are available and secure
  • The Nginx team has been very proactive when we need help, support and in the renew of licenses process
  • In five years we only have had 10 minutes of unavailability because of Nginx. However, Nginx support was very helpful for us.
Nginx is excellent working as a load balancer, reverse proxy - WAF (Web Application Firewall), Web server, and high availability and high performance scenarios.
Tyler Johnson | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We use Nginx as the primary reverse proxy for all of our web services. We manage several dozen web applications, for many different clients, and Nginx allows us to quickly route requests to the correct service. Since we use Kubernetes to manage services, it is fast and simple for us to add new routes to our Nginx service. Nginx also manages our SSL, allowing us to deliver content securely.
  • Straight-forward configuration format that users of all skill levels can learn, and yet is powerful enough for the huge breadth of features that Nginx provides.
  • Massive scale right out the box. We've never had a Nginx instance overwhelmed by requests, and if we did it would be trivial to spin up more Nginx instances to handle the load.
  • SSL termination means that we can deliver content over HTTPS without needing our individual services to require TLS support. This saves us a lot of time and headache while keeping us secure.
  • Nginx is open-source and free, meaning that anyone can use it to power their services, from individual projects to billion-dollar websites.
  • The open-source flavor of Nginx does not support automatic service discovery. In the time of Docker containers, Kubernetes and other managed cloud services, it can be difficult to manually update Nginx configurations as services change.
  • Nginx is quite heavy for smaller projects and low-traffic scenarios. It requires knowledge of operating and configuring, which is separate from operating the main web server. There are managed alternatives that will get web services up faster and be more reliable.
  • Nginx-plus has some very valuable tools that projects of any size could take advantage of. Unfortunately, it is very expensive as it includes SLA and support, putting it out of reach of all but the most well-funded projects.
Nginx is a fantastic service for managing several web services together under the same platform. Between SSL termination and basic reverse proxy, you can maintain a single static IP address and host several services and domains. Nginx will route to all the services with ease and you can keep costs lower by sharing server infrastructure. Nginx is also great for high-impact web services. We have several services that during peak hours will see several thousand requests every second. Nginx never breaks a sweat and is one of the most reliable parts of our stack under load.

Nginx is less appropriate for small projects as it takes time to configure and operate successfully. If you looking to get a small web service up quickly and securely, it is often better to go with one of the managed cloud services available.
Rene Enriquez | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We used it to deploy web applications built using popular JavaScript frameworks such as Angular and React.
  • Lightweight
  • Great community
  • A lot of documentation available
  • Regular webinars where you can ask the experts questions
  • A user-friendly web console to add some configurations would be appreciated
Nginx is awesome to deploy web applications built using different technology stacks; we used it to deploy JavaScript and PHP apps.
Anand Chhatpar | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Nginx is used as the main web server and load balancer in front of our Rails apps. We use Nginx + Passenger together as part of our stack for production deployments of our Rails apps.

We currently have 5 different deployments of Nginx, and everyone in the company that deploys production apps uses them.

The main business problem addressed by Nginx was definitely speed and load balancing. Before using Nginx + Passenger, we had Apache servers in front of Mongrel for our rails apps, and they not only were slow and memory intensive, the only load balancing strategy available with that setup was round-robin allocation of incoming web requests to different app servers. With Nginx, it acts as a load balancing proxy as well and keeps track of which app servers are free to receive new requests. This resolves bottlenecks in our server's performance.
  • Nginx works really well for serving static files. You can let requests for static files and assets pass directly through to the file system and Nginx will serve them really fast, without touching your web app processes.
  • Nginx does a great job with load balancing. You can set up different load balancing strategies, but the default load balancer it comes with out of the box works very well already -- better than any round-robin approach because it checks for availability of the resource before handing off the incoming request.
  • Nginx is more memory efficient and generally faster than Apache. It has a small footprint, which can be very helpful, especially if you're running on a VPS.
  • Nginx has not crashed on me even once. The robustness of Nginx overall is very impressive.
  • You can apply configuration changes to Nginx without needing to restart the server. You can also do reloads of the config without dropping any web requests because Nginx provides a global queue where requests can be held while it reloads the config.
  • There's no configuration wizard. I had to read their docs every time I make a change to the Nginx config files.
  • Deploying rails apps with Nginx + Passenger requires a recompilation of Nginx. It would have been better if Nginx supported a plugin system that would allow you to plug in some rails app servers into it.
  • There's no easy way to tell which incoming request was sent to which back-end app server. You have to do advanced tricks to keep track of those things, in case you need to see what's happening behind the scenes for debugging.
Nginx is great as a web server. For serving Rails apps, Nginx + Puma seems to have become the norm, but has memory leakage issues because of Puma. Nginx itself is quite robust and we find Nginx + Passenger as the right production-ready setup for deploying Ruby on Rails apps. I cannot think of any specific scenarios where I would recommend against using Nginx.
Craig Nash | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Nginx is my default go-to web server for all Linux web servers (LEMP Stacks) that I currently deploy. I use NginX primarily as one of several pieces of a custom-designed web-server stack in conjunction with Ubuntu or CentOS, Percona XtraDB, and HHVM with PHP7-FPM failover, which is used to power PHP based websites (such as WordPress) which I deploy on entry-level compute packages provided by industry standard cloud services (AWS, Google, BlueMix, Digital Ocean) for our web-design clients. My primary goal with these servers is to provide our clients with their own managed, in-house hosting solution with more power than a standard hosting company can provide, but at a similar recurring cost bracket. Nginx was my choice, as it was designed specifically to win the C10k challenge, which was a challenge to create a web server capable of handling 10,000 simultaneous connections on a single server (which was successful). The biggest challenge I face is designing a stack that can handle a potentially heavy connection load while deployed on low-spec, shared-resource, sub-$20 virtual servers, while avoiding the expensive, constant need for computing resource increases. These challenges require a web server than can handle 1 or 1,000 connections on the initial specs, without an increase in resources, which Nginx was able to accomplish beyond my expectations, allowing me to provide similar and sometimes equal performance on virtual servers as that of higher-cost, WordPress specific hosts, such as WP Engine.
  • Nginx's best feature is what it was designed for in the first place, providing a high amount of simultaneous connections with less hardware resources. NginX is at minimum, twice as fast as Apache with static requests, and equal to Apache with PHP requests.
  • Nginx was created appr. 5 years after Apache, giving it the benefit of Apache's hind-sight, which has allowed NginX to be designed to better handle, or simply bypass and hand-off processes to better equipped software.
  • NginX includes quite a few very useful performance enhancing tools built in, such as advanced caching techniques (converting proxied dynamic content to static content for faster caching), native reverse proxy support, and best of all, built-in load balancing that is very easy to use.
  • The NginX setup and deployment is very easy, as the entire configuration is located in 2 files, consisting of a general server config, and a site-specific config for virtual hosts, allowing the greenest of Linux admins to easily deploy a web server.
  • Even though Nginx is the 2nd most used web server, it is rarely recognized by anyone outside of an IT field that uses it directly. This makes it a very hard sell, especially within start-up companies (a great place for NginX) relying upon VC funding, where brand recognition of the providers/manufacturers used in your IT environment can be a factor in funding.
  • Due to being less known, NginX does lack on advanced community support along with modules and add-ons when compared to Apache, luckily the community support available is generally more than enough. The same goes for locating experienced NginX administrators, but again, the learning curve is very small. allowing staff to be adequately trained in a short amount of time.
  • Due to the first point I made, a lot of software does not come with pre-configs for NginX
Nginx, like all server systems, is not always the perfect option for every task, though it is definitely high on the list. Nginx works best with static content, such as images, text, HTML code, etc., but has little to no native support for dynamic content, and relies on sending the content to third party processors, such as HHVM or PHP-FPM in the case of PHP. The hand-off of the process to a different server results in a longer processing time, bringing NginX to an "even" score compared to Apache, in terms of performance as it pertains to dynamic content. Nginx is, in my opinion, the obvious choice, having a performance increase of 2-3 times over Apache when serving static content, and comparable performance to Apache when serving dynamic content, while having native support for additional performance tools, such as caching, proxies, and load balancing. However, each server does have different ways of serving information (E.G. NginX does not use .htacces for directory specific configs) and should always be thoroughly researched as it pertains to your individual project prior to making a final decision.
Chris Coppenbarger | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Nginx is a http server software used to serve up websites across the web, similar to Apache httpd. The main difference being that Nginx offers multi-threaded support to serve up websites faster and more efficiently. I implement and use it as often as possible for my websites I build in order to provide the speed and efficiency that is required. It is easy to use one config file to serve up both the http and https versions of the site.
  • Multi-threaded support is great in that it isolates each hit to the web server to cut down on crashes and deliver speed.
  • Easy configuration files for both http and https support.
  • Small footprint and memory usage.
  • Not as many configuration options as Apache httpd.
  • Can be confusing to set up if used to Apache's config options.
  • Confusing to figure out how to set up mods.
Nginx is well suited for most areas where you are using an Apache httpd server. If you need a vast array of configuration options, Apache might be more well suited, but over all I would recommend switching to Nginx for serving up websites.
Return to navigation